package com.ruoyi.app.service;

import com.ruoyi.app.domain.AppTeamList;
import com.ruoyi.app.domain.vo.AppTeamListVo;
import com.ruoyi.app.domain.bo.AppTeamListBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.HashMap;
import java.util.List;

/**
 * APP用户动态Service接口
 *
 * @author heike
 * @date 2023-08-17
 */
public interface IAppTeamListService {

    /**
     * 查询APP用户动态
     */
    AppTeamListVo queryById(Long id);

    AppTeamListVo queryInfo(AppTeamListVo appTeamListVo, Long id);

    /**
     * 查询APP用户动态列表
     */
    TableDataInfo<AppTeamListVo> queryPageList(AppTeamListBo bo, PageQuery pageQuery);

    /**
     * 查询APP用户动态列表
     */
    List<AppTeamListVo> queryList(AppTeamListBo bo);


    /**
     * 查询APP用户动态列表
     */
    List<AppTeamListVo> queryList(Long userId, List<String> status);


    AppTeamListVo queryByGroup(String groupId);

    /**
     * 新增APP用户动态
     */
    Boolean insertByBo(AppTeamListBo bo);

    /**
     * 新增任务
     *
     * @param appTeamList 任务信息
     * @return
     */
    Boolean insert(AppTeamList appTeamList);

    /**
     * 修改APP用户动态
     */
    Boolean updateByBo(AppTeamListBo bo);

    /**
     * 修改APP用户动态
     */
    Boolean updateByVo(AppTeamListVo vo);

    /**
     * 校验并批量删除APP用户动态信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    boolean addTeam(AppTeamListBo bo);

    TableDataInfo<AppTeamListVo> queryDate(TableDataInfo<AppTeamListVo> page, Long userId);

    List<AppTeamListVo> queryDate(List<AppTeamListVo> list, Long userId);

    HashMap<String, String> like(Long id, Long userId, String type);

    boolean delete(Long id);
}
